30 StateQuaternion(
const Eigen::VectorXd& _state,
bool _fixed =
false,
bool _transformable =
true);
31 StateQuaternion(
const Eigen::Quaterniond& _quaternion,
bool _fixed =
false,
bool _transformable =
true);
37 Eigen::VectorXd
identity()
const override;
59 if (
state_.size() != 4)
throw std::runtime_error(
"The quaternion state vector must be of size 4!");
71 state_ = Eigen::Quaterniond::Identity().coeffs();
78 setState(Eigen::Quaterniond::Identity().coeffs(), _notify);
83 return Eigen::Quaterniond::Identity().coeffs();
88 return Eigen::Quaterniond::Identity().coeffs();
95 (Eigen::Quaterniond(_transformation.at(
'O').data()) * Eigen::Quaterniond(
getState().data())).coeffs());
Local parametrization for quaternions.
Definition: local_parametrization_quaternion.h:54
class StateBlock
Definition: state_block.h:73
bool transformable_
Flag to indicate if the state block can be transformed to another reference frame.
Definition: state_block.h:91
void setState(const Eigen::VectorXd &_state, const bool _notify=true)
Sets the state vector.
Definition: state_block.cpp:25
Eigen::VectorXd getState() const
Returns the state vector.
Definition: state_block.h:296
Eigen::VectorXd state_
State vector storing the state values.
Definition: state_block.h:80
Definition: state_quaternion.h:27
~StateQuaternion() override
Definition: state_quaternion.h:74
WOLF_STATE_BLOCK_CREATE(StateQuaternion)
static Eigen::VectorXd Identity()
Definition: state_quaternion.h:81
void setIdentity(bool _notify=true) override
Definition: state_quaternion.h:76
virtual void transform(const VectorComposite &_transformation) override
Definition: state_quaternion.h:91
Eigen::VectorXd identity() const override
Definition: state_quaternion.h:86
StateQuaternion(bool _fixed=false, bool _transformable=true)
Definition: state_quaternion.h:64
Definition: vector_composite.h:27
Definition: capture_base.h:23
@ DQ_LOCAL
Definition: local_parametrization_quaternion.h:36